﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Super.Core.CodeHelper;
using Super.Core.Utility;

namespace Super.Core.IBuilder
{
    public interface IBaseBuilder
    {


        /// <summary>
        /// 得到最大ID的方法代码
        /// </summary>
        /// <param name="TabName"></param>
        /// <param name="ID"></param>
        /// <returns></returns>
        string CreateGetMaxID();


        /// <summary>
        /// 得到Exists方法的代码
        /// </summary>
        /// <param name="_tablename"></param>
        /// <param name="_key"></param>
        /// <returns></returns>
        string CreateExists();


        /// <summary>
        /// 得到Add()的代码
        /// </summary>
        /// <param name="ExistsMaxId">是否有GetMaxId()生成主健</param>	
        string CreateAdd();


        /// <summary>
        /// 得到Update（）的代码
        /// </summary>
        /// <param name="DbName"></param>
        /// <param name="_tablename"></param>
        /// <param name="_key"></param>
        /// <param name="ModelName"></param>
        /// <returns></returns>
        string CreateUpdate();

        /// <summary>
        /// 得到Delete的代码
        /// </summary>
        /// <param name="_tablename"></param>
        /// <param name="_key"></param>
        /// <returns></returns>
        string CreateDelete();


        /// <summary>
        /// 得到GetModel()的代码
        /// </summary>
        /// <param name="DbName"></param>
        /// <param name="_tablename"></param>
        /// <param name="_key"></param>
        /// <param name="ModelName"></param>
        /// <returns></returns>
        string CreateGetModel();


        /// <summary>
        /// 得到QueryList()的代码
        /// </summary>
        /// <param name="_tablename"></param>
        /// <param name="_key"></param>
        /// <returns></returns>
        string CreateQueryList();


        /// <summary>
        /// 得到QueryListAsPage()的代码
        /// </summary>
        /// <returns></returns>
        string CreateQueryListAsPage();


    }
}
